Como crear un proyecto desde 0 usando Maven
Para generar un proyecto con maven lo hacemos con el siguiente comando:
> mvn archetype:generate
A continuacion entraremos en una interfaz interactiva donde se nos preguntaran una serie de requisitos para el proyecto:
Si no queremos entrar en el modo interactivo podemos crear un proyecto por defecto con el siguiente comando:
mvn archetype:generate -DgroupId="com.mycompany.app" -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion="1.4" -DinteractiveMode=false
NOTA: En el valor de los parametros es necesario meterlos entre comillas ("") si se ejecuta el comando desde el powershell ya que si no no se interpretan los puntos (.) como un literal
El mismo proceso que se hace desde el terminal lo podemos realizar desde el visual code
Primero tenemos que tener instalada la extension de Maven for Java
Una vez tenemos la extension instalada solo tenemos que pulsar F1 y seleccionar la opcion Create Maven Project:
NOTA: si ya estámos en un proyecto generado con maven está opción no aparecerá, tendremos que abrir una nueva ventana de VSCode para generar el proyecto.
NOTA: no confundir la opcion de Maven: Create Maven Project con la opcion de crear un proyecto de spring Spring Initializr: Create a Maven Project
Una vez seleccionada la opcion se nos realizará las mismas preguntas que en la linea de comandos para indicar los parametros de creacion
Una vez tenemos creado el proyecto si queremos ejecutarlo directamente (usando Cntrl+F5 por ejemplo), veremos un error como el siguiente:
Error: Could not find or load main class com.mycompany.app.App
Caused by: java.lang.ClassNotFoundException: com.mycompany.app.App
Todavia no tenemos compilado el proyecto, asi que si lo intentamos ejecutar directamente obtendremos ese error
Para compilar el proyecto podemos ejecutar desde la consola mvn compile o desde el visual code desde Maven > Lifecycle > compile:
Una vez compilado el proyecto podemos ejecutarlo llamando directamente a java (java.exe) o desde el visual code (Cntrl + F5)
NOTA: Si tenemos activado el autobuild en el VSCode el proyecto se autocompila al guardar y no necesitaríamos hacer el "mvn compile"
Con los tests pasa algo parecido, si los intentamos ejecutar directamente desde el visual code no se ejecutaran, primero tenemos que lanzar el comando mvn test o desde el visual code llamar a Maven > Lyfecycle > test
Una vez hecho esto ya podemos ejecutar los tests desde el visual code:
Maven | proyecto | java